From: Mads Villadsen Date: Tue, 16 Feb 2010 21:34:57 +0000 (+0100) Subject: Make width of workspace switcher popup dynamic X-Git-Tag: archive/raspbian/50.5-1+rpi1~1^2~1013^2^2~10417 X-Git-Url: https://dgit.raspbian.org/%22http://www.example.com/cgi/%22/%22http:/www.example.com/cgi/%22?a=commitdiff_plain;h=b8a9eec14f1fbb29691320bbf3520a2b5e3ab134;p=gnome-shell.git Make width of workspace switcher popup dynamic Make the width of the workspace switcher dynamic in order to make it have the same proportions as the actual screen. Call redraw after adding indicator to stage to avoid warning. https://bugzilla.gnome.org/show_bug.cgi?id=610049 Signed-off-by: Adel Gadllah --- diff --git a/data/theme/gnome-shell.css b/data/theme/gnome-shell.css index b2c816f4c..c8cd4191a 100644 --- a/data/theme/gnome-shell.css +++ b/data/theme/gnome-shell.css @@ -703,7 +703,6 @@ StTooltip { } .ws-switcher-active-left { - width: 98px; height: 98px; border: 0px; background: rgba(255,255,255,0.5); @@ -712,7 +711,6 @@ StTooltip { } .ws-switcher-active-right { - width: 98px; height: 98px; border: 0px; background: rgba(255,255,255,0.5); @@ -729,7 +727,6 @@ StTooltip { } .ws-switcher-box { - width: 96px; height: 96px; border: 2px solid rgba(85,85,85,0.5); background: transparent; diff --git a/js/ui/workspaceSwitcherPopup.js b/js/ui/workspaceSwitcherPopup.js index 655779c70..31e380f17 100644 --- a/js/ui/workspaceSwitcherPopup.js +++ b/js/ui/workspaceSwitcherPopup.js @@ -27,14 +27,17 @@ WorkspaceSwitcherPopup.prototype = { height: global.screen_height }); global.stage.add_actor(this.actor); + this._scaleWidth = global.screen_width / global.screen_height; + this._container = new St.BoxLayout({ style_class: "workspace-switcher-container" }); this._list = new St.BoxLayout({ style_class: "workspace-switcher" }); - this._redraw(); - this._container.add(this._list); + this.actor.add_actor(this._container); + this._redraw(); + this._position(); this.actor.show(); @@ -55,6 +58,7 @@ WorkspaceSwitcherPopup.prototype = { indicator = new St.Bin({ style_class: 'ws-switcher-box' }); this._list.add(indicator); + indicator.set_width(Math.round(indicator.get_height() * this._scaleWidth)); if (i < global.screen.n_workspaces - 1) { let spacer = new St.Bin({ style_class: 'ws-switcher-spacer' });